# LeetCode 9 、回文数
# 一、题目描述
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,
121
是回文,而123
不是。
示例 1:
输入:x = 121 输出:true
示例 2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
# 二、题目解析
# 三、参考代码
class Solution:
def isPalindrome(self, x: int) -> bool:
# 转换为字符串数组的形式
xArray = list(str(x))
# 左边索引的位置在 0
left = 0
# 右边索引的位置在 len(xArray) - 1
right = len(xArray) - 1
# 两个索引向内移动
# left 向右移动
# right 向左移动
while left <= right:
# 判断这两个元素值是否相同
if xArray[left] != xArray[right]:
# 如果不同,直接返回 False
return False
# 否则,left 向右移动
left += 1
# right 向左移动
right -= 1
return True